// call
Function.prototype.myCall = function (content = window, ...args) {
    if (Function.prototype === this) {
        throw Error("不可以自己")
    }
    const x = Symbol()
    content[x] = this;
    let res = content[x](...args)
    delete content[x]
    return res;
}
// apply
Function.prototype.myCall = function (content = window, args) {
    if (Function.prototype === this) {
        throw Error("不可以自己")
    }
    const x = Symbol()
    content[x] = this;
    let res
    if (Array.isArray(args)) {
        res = content[x](args)
    } else {
        res = content[x]()
    }

    delete content[x]
    return res;
}
// bind

Function.prototype.myCall = function (content = window, ...args) {
    if (Function.prototype === this) {
        throw Error("不可以自己")
    }
    return function () {
        const x = Symbol()
        content[x] = this;
        let res = content[x](...args)
        delete content[x]
        return res;
    }
}